package paneles

import modelo.Jugador
import modelo.Zombie
import org.apache.wicket.markup.html.WebPage
import org.apache.wicket.markup.html.form.DropDownChoice
import org.apache.wicket.markup.html.form.Form
import org.apache.wicket.model.CompoundPropertyModel
import org.uqbar.wicket.xtend.WicketExtensionFactoryMethods
import org.uqbar.wicket.xtend.XLink

class AtakPage extends WebPage {
	extension WicketExtensionFactoryMethods = new WicketExtensionFactoryMethods
	@Property Jugador jugador
	@Property int fila
	
	public new( Jugador jugador, int i) {
		defaultModel = new CompoundPropertyModel(jugador)
		fila=i
		this.jugador=jugador as Jugador
		defaultModel = new CompoundPropertyModel(jugador)
		this.jugador.filaSeleccionada= jugador.jardin.dameLaFila(fila)
		val atakForm = new Form<Jugador>("atakForm", jugador.asCompoundModel)
		this.agregarCamposEdicion(atakForm)
		this.agregarAcciones(atakForm)
		this.addChild(atakForm)
	}
 
	

	def agregarAcciones(Form<Jugador> form) {
		form.addChild(
			new XLink("BotonAtk") => [
				onClick = [|jugador.primerAtaque()
			]
			])
	}

	def agregarCamposEdicion(Form<Jugador> form) {
			form.addChild(
			new DropDownChoice<Zombie>("zombieSeleccionado") => [
				choices = loadableModel([|jugador.sistemaBase.zombiesDisponibles])
				choiceRenderer = choiceRenderer([Zombie z|z.getNombre()])
			])
	}
}